1. Field of the Invention
The present invention relates to a memory controller and a memory system.
2. Description of the Related Art
At present, a memory system typically represented by a memory card using a nonvolatile semiconductor memory such as a flash memory is used for recording music data and video data. A typical flash memory used in such memory system includes a NAND flash memory. In the NAND flash memory, write is performed in units called pages each constituted of more than one bit. Erasure is only performed in units called blocks constituted by more than one page. For this reason, for partially updating a block, new data to be updated must be written in a new block and sustained data must be copied from the old block containing the old data, which is to be updated to the new data, into the new block. This process is called “copy-involving write”. Since the “copy-involving write” accompanies copying of sustained data, frequent “copy-involving write” operations considerably increase overheads.
A file allocation table (FAT) file system is used as an overwrite type file system to manage data stored in a storage medium (see Jpn. Pat. Appln. KOKAI Publication No. 2006-040264). The FAT file system allocates data to clusters, which correspond to units of write areas used by the file system, and uses a table called a FAT to manage allocation of the data to the clusters. The FAT file system is based on a medium, such as a hard disk, on which data can be rapidly updated at random. Random write is a scheme in which data is written in free clusters at random independently of an address of each cluster.
In the FAT file system, update of management data such as the FAT occurs each time file data (real data) constituting files is updated. For this reason, when the FAT file system is employed for managing a NAND flash memory, “copy-involving write” occurs each time file data is updated, which tends to decrease the speed in file write.
The larger the capacity of the NAND flash memory becomes, the larger the size of a block becomes in the future. As a result, it is expected to exacerbate an adverse effect such as an increase in process time for “copy-involving write” or the like.